package com.demo.java.OD601_650.OD626;

import java.util.Scanner;
import java.util.*;
import java.util.stream.Collectors;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【计算数组中心位置(A卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146885129
 */
public class OdMain {
    public static void main(String[] args) {
        // 处理输入
        Scanner in = new Scanner(System.in);

        // 将输入的字符串转换为整数列表
        List<Integer> nums = Arrays.stream(in.nextLine().split(" "))
                .map(Integer::parseInt)
                .collect(Collectors.toList());

        // 如果数组长度为1，直接输出0，因为没有中心位置
        if (nums.size() == 1) {
            System.out.println(0);
            return;
        }

        // 左右乘积子数组
        int left_result = 1;  // 左侧积初始化为1
        int right_result = 1; // 右侧积初始化为1

        // 计算整个数组的右边积
        for (int i = 0; i < nums.size(); i++) {
            right_result = right_result * nums.get(i);
        }

        // 从左到右遍历数组，逐步更新左边积和右边积
        for (int i = 0; i < nums.size(); i++) {
            if (i != 0) {
                left_result = left_result * nums.get(i - 1);  // 更新左边积
            }
            right_result = right_result / nums.get(i);  // 更新右边积

            // 如果左边积等于右边积，说明找到了中心位置
            if (left_result == right_result) {
                System.out.println(i);
                return;
            }
        }

        // 如果没有找到符合条件的中心位置，返回-1
        System.out.println(-1);
    }
}